home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1993
/
Internet Info CD-ROM (Walnut Creek) (1993).iso
/
standards
/
VGA
/
trident.txt
< prev
next >
Wrap
Text File
|
1993-07-15
|
6KB
|
205 lines
Trident SuperVGA
Trident 8800BR 512k Only 128K banks.
8800CS 512k
8900 1M
8900C 1M
9000 Low component version
LCD9100
LX9200
The Trident 8800 chips have a problem with 256 color modes,
as they always double the pixels output in 256 color mode.
Thus a 640x400 256 color mode (5Ch) actually uses a 1280x400
frame, requiring at least a multi sync monitor.
This problem is fixed on the 8900.
Apparently Trident BIOS version 3.xx or later on a 8900 will support HiColor DACs
Anybody got the details (modes, which DACs ...)?.
100h (R/W?): Microchannel ID low
bit 0-7 Card ID bit 0-7
101h (R/W?): Microchannel ID high
bit 0-7 Card ID bit 8-15
3C3h (R/W): Microchannel Video Subsystem Enable Register:
bit 0 Enable Microchannel VGA if set
3C4h index Bh (R): Chip Version
bit 0-3 Chip ID
1 = TR 8800BR
2 = TR 8800CS
3 = TR 8900
4 = TR 8900C (Some sources say 3)
4-7 Reserved for 8800.
For 8900/9000: 0=8900B, 1=8900C, 2=9000, 8=LX9200, 9=LCD9100.
Note: Writing to index Bh selects old mode registers.
Reading from index Bh toggles between old and new
mode registers.
Note: Writing to this register in order to force old mode registers
should be done with two 8bit writes, not one 16bit write.
3C4h index Ch (R/W): Power Up Mode Register 1
3C4h index Dh (R/W): Old Mode Control 2
bit 0-2 Emulation mode
0=VGA, 3=EGA, 5=CGA,MDA,Hercules
4 Enable Paging mode if set
3C4h index Dh (R/W): New Mode Control 2
Contains timing info
Note: The old/new Mode Control 1/2 registers are selected by
reading and writing the Chip version register (index Bh).
3C4h index Eh (R/W): Old Mode Control 1
bit 0 (8900 Only) CRTC Address bit 17 (Show from upper 512kb if set)
1-2 128kb Bank number (0-3)
3 16 bit interface if set
3C4h index Eh (R/W): New Mode Control 1
bit 0-3 64k Bank nr. For write ops. xor bank number with 2,
for read ops use bank number directly.
4-7 Reserved
Note: The old/new Mode Control 1/2 registers are selected by
reading and writing the Chip version register (index Bh).
3C4h index Fh (R/W): Power-up Mode 2
bit 0-3 Switch settings
4 Bus type
5 If set I/O address are at 3xxh, else at 2xxh.
6 Enable ON-Card ROM if set
7 16 bit ROM access if set
3d4h index 1Eh (R/W): Module Testing Register
bit 2 Vertical interlace if set
5 CRTC starting address bit 16
7 (8900 Only) Host address bit 16.
Enables 128k CRTC address if set
3d4h index 1Fh (R/W): Software Programming Register (8900 Only)
bit 0-1 Memory size 0=256k, 1=512k, 2=768k, 3=1M.
3d4h index 1Fh (R/W): Scratch Register (8800 Only)
bit 0 Paged memory mode in effect
1 Memory size 0=256k, 1=512k
2 Analog monitor attached
3 44.9 MHz oscillator present
Note: This register is set by software.
3d4h index 22h (R): CPU Latch Read Back
bit 0-7 Data Latch value for current read plane.
3d4h index 24h (R): Attribute State Read Back
bit 0-6 Reserved
7 Attribute Controller State
If set the next write to 3C0h will go to the data
register, if clear to the index register.
3d4h index 26h (R): Attribute Index Read Back
bit 0-7 Attribute Index Register value
46E8h (R): Video Subsystem Enable Register
bit 3 Enable VGA if set
Bank selection:
Trident VGAs can operate in 2 different modes:
Old Mode, with a 128k window to display memory at A000h - BFFFh
and New Mode, with a 64k window to display memory at A000h - AFFFh.
Old/New mode is selected by reading/writing the Chip Version Register
(3C4h index 0Bh).
Each mode has its own registers at 3C4h index 0Dh and 0Eh.
ID Trident VGA:
wrinx($3c4,11,0); {Force old_mode_registers}
chp:=inp($3c5); {Read chip ID and switch to new_mode_registers}
old:=rdinx($3c4,14);
outp($3c5,0);
value:=inp($3c5) and 15;
outp($3c5,old);
if value=2 then
case chp of
1:Trident TR8800BR;
2:Trident TR8800CS;
3:Trident TR8900;
$13:Trident TR8900C;
$23:Trident TR9000;
$83:Trident LX9200;
$93:Trident LCD9100
end;
Video Modes:
50h T 80 30 16 (8x16)
51h T 80 43 16 (8x11)
52h T 80 60 16 (8x8)
53h T 132 25 16 (8x14)
54h T 132 30 16 (8x16)
55h T 132 43 16 (8x11)
56h T 132 60 16 (8x8)
57h T 132 25 16 (9x14)
58h T 132 30 16 (9x16)
59h T 132 43 16 (9x11)
5Ah T 132 60 16 (9x8)
5Bh G 800 600 16 planar
5Ch G 640 400 256 packed
5Dh G 640 480 256 packed
5Eh G 800 600 256 packed (Undocumented on 8800)
5Fh G 1024 768 16 planar
60h G 1024 768 4 8900 Only
61h G 768 1024 16 planar
62h G 1024 768 256 packed 8900 Only
ZyMOS POACH51 modes:
60h G 960 720 16 planar
61h G 1280 640 16 planar
62h G 512 512 256 packed
63h G 720 540 16 planar
64h G 720 540 256 packed
6Ah G 800 600 16 planar
Everex Viewpoint use Everex modes.
Bios extensions:
----------1000-------------------------------
INT 10 - VIDEO - SET VIDEO MODE
....
Return: AH = Status of call: (Trident Super VGA Chips)
Trident 8800 Trident 8900
00h Successful do
80h Fail. Wrong switch do
81h Insufficient Video do
Memory.
82h The 36MHz crystal Mode not supported
cannot support the
mode
83h The 40MHz crystal Mode not supported
cannot support the
mode.
84h The 44.9MHz crystal Mode not supported
cannot support the
mode.
85h Dead or no crystal
86h Wrong CRTC base for dual screen
87h Text mode not supported